class: center, middle, bg_title, hide-count <img src="data:image/png;base64,#img/unipd_logo.png" width="120px"/> <img src="data:image/png;base64,#img/DCTV.png" width="50px"/> <img src="data:image/png;base64,#img/UBEP.png" width="50px"/> <img src="data:image/png;base64,#img/LAIMS.png" width="50px"/>
<style type="text/css"> .left-code { color: #777; width: 38%; height: 92%; float: left; } .right-code { color: #777; width: 55%; height: 92%; float: right; padding-top: 0.5em; } .left-plot { width: 43%; float: left; } .right-plot { width: 60%; float: right; } .hide-count .remark-slide-number { display: none; } .bg_title { position: relative; z-index: 1; } .bg_title::before { content: ""; background-image: url('img/bg1.png'); background-size: contain; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; opacity: 0.3; z-index: -1; } </style> <br> <br> <br> # **.orange[STATISTICA MEDICA]** -- Analisi esplorativa e statistiche descrittive -- Corrado Lanera | [**Unità di Biostatistica, Epidemiologia e Salute Pubblica**](https://www.unipd-ubep.it/) --- class: inverse, hide-count # Cosa faremo Prima di tutto richiameremo alcuni simboli, notazioni, oggetti "matematici" che ci potranno tornare utili lungo la trattazione dell'intero corso. Andremo quindi a identificare quali sono gli **.orange[oggetti]** che ci interessa analizzare, e di che **.orange[tipologie]** posso essere. Quindi vedremo come **.orange[localizzarli]**; ovvero, come (numericamente) avere un'idea di dove si _collochino_ (rispetto a un dato riferimento o misura), questo grazie all'individuazione di uno o più **.orange[punti di riferimento]** (detti **centrali**) e una misura di quanto gli altri punti di interesse siano **.orange[più o meno distanti]** da questi (**variabilità **). Poiché **.orange[guardare]** numeri, a volte, può essere poco informativo, o immediato, ci occuperemo di rappresentare i nostri dati **graficamente**, individuando a seconda del tipo, quantità e interesse, il grafico più opportuno tra quelli base, imparando anche a _leggere_ cosa rappresentano. --- class: hide-count # .orange[Riconoscimenti] - Le diapositive proposte sono state prodotte a partire anche da materiale generato da/con le seguenti persone gravitanti attorno l'UBEP*: + Danila Azzolina + Dario Gregori + Giulia Lorenzoni + Ileana Baldi + Luca Vedovelli + Matteo Martinato + Paola Berchialla <br><br> <small> .right[\* In ordine alfabetico.] </small> <br><br> > Un ringraziamento speciale a Cristiana Vettori per l'aiuto e il supporto logistico e amministrativo che mi è stato offerto. --- class: inverse, middle # .center[**.orange[Panoramica]**] **Oggetti in gioco** **Localizzazione** **Rappresentazione** --- class: inverse, middle # .center[**.orange[Oggetti] in gioco**] **Notazioni di base** **.orange[tipologie] di dati** --- class: hide_logo # .orange[Notazioni]: Sommatoria fino a N Sia `\(I\)` un insieme di indici `\(i\)` con `\(N\)` elementi, utile a identificare (in modo univoco) ciascun elemento `\(x\)` di un insieme `\(X\)` composto da `\(N\)` numeri. Allora, indichiamo in modo generico con `\(x_i\)` l'i-esimo elemento di `\(X\)`. Per esempio, quando consideriamo `\(i = 1\)`, allora `\(x_i\)` è `\(x_1\)`, ovvero il primo elemento di `\(X\)`. Con tale notazione, utilizzando il simbolo `\(\Sigma\)` (Sigma, maiuscola: la "S" greca), indichiamo brevemente con `$$\sum_{i = 1}^N x_i = x_1 + x_2 + \cdots + x_{N-1} + x_{N}$$` la somma di tutti gli `\(x_i\)`, e lo leggiamo "Sommatoria per i che va da 1 a N degli x-con-i". --- # .orange[Notazioni]: Sommatoria su I In modo analogo, se `\(I\)` non fosse numerico ma, per esempio, l'insieme dei codici identificativi dei pazienti in uno studio, e `\(X\)` fosse l'insieme dei pesi di tali pazienti, ipotizzando che `\(R43\)` sia l'id di un paziente, allora quando `\(i = R43\)` abbiamo che `\(x_i = x_{R43}\)` è il peso del paziente identificato dal codice `\(R43\)`. Ricordando inoltre che indichiamo con `\(x\in X\)` la relazione di .orange[appartenenza insiemistica] per l'elemento `\(x\)` nell'insieme `\(X\)`, possiamo scrivere `$$\sum_{i\in I} x_i$$` Con il medesimo significato di prima, ovvero la somma di tutti i pesi di tutti i pazienti i cui indici (ovvero ID) stanno nell'insieme considerato `\(I\)`, e lo leggiamo "Sommatoria per gli i in I degli x-con-i". --- # Proprietà della sommatoria Sia `\(C\)` una generica costante numerica, allora `$$\sum_{i\in I} (C * x_i) = C * \sum_{i\in I} x_i$$` `$$45=(5*2) + (5*3) + (5*4) = \sum_{i=2}^{4} (5 * i) = 5 * \sum_{i=2}^{4} i = 5*(2+3+4)=45$$` `$$\sum_{i = 1}^N C = N * C$$` `$$\sum_{i = 1}^3 5 = 5 + 5 + 5 = 3 * 5$$` --- # Esempio sommatoria Per esempio considerando .left-column[ Table: Portion of 'EPIC-Norfolk cohort' (Bain et al. 2015) | I| age| |--:|----:| | 1| 55.1| | 2| 62.9| | 3| 53.1| | 4| 76.3| | 5| 64.2| | 6| 53.3| ] .right-column[ Possiamo scrivere la somma di tutte le età ``` 55.1 + 62.9 + 53.1 + 76.3 + 64.2 + 53.3 ``` come `\(\sum_{i\in I} age_i =\)` 364.9. ] --- # .orange[Unità ] statistica **Elemento di base** su cui si compie l’osservazione o la rilevazione dei dati. In altre parole, è ciò che si osserva, misura o registra in una ricerca statistica. 📌 Caratteristiche principali: - È l’oggetto elementare dell’indagine (può essere una persona, una famiglia, un’impresa, un animale, un prodotto, un evento, ecc.). - È ben definita e distinguibile da altre unità della popolazione. - Su ciascuna unità si rilevano variabili (caratteristiche qualitative o quantitative). - L’insieme di tutte le unità statistiche considerate forma la popolazione statistica. 👉 Esempi: - In un censimento della popolazione: l’unità statistica è l’individuo. - In un’indagine sui redditi familiari: l’unità statistica è la famiglia. - In uno studio clinico: l’unità statistica è il paziente arruolato. --- # .orange[Unità ] statistica <small> Table: Portion of "EPIC-Norfolk cohort" (Bain et al. 2015) | id|gender | age|att.fisica | sigarette| bmi| sbp| dbp| cole.tot| mag|farmaci | |--:|:------|----:|:-----------------|---------:|----:|-----:|-----:|--------:|-----:|:-------| | 1|M | 55.1|Mai | 1| 30.4| 151.0| 108.0| 5.2| 425.5|No | | 2|M | 62.9|1-2 volte a sett. | 2| 42.6| 140.1| 103.9| 4.6| 312.6|Statine | | 3|M | 53.1|3 Volte a sett. | 2| 41.6| 145.2| 120.6| 4.8| 426.8|Statine | | 4|M | 76.3|Mai | 2| 23.3| 126.9| 114.0| 8.4| 422.7|fibrati | | 5|M | 64.2|3 Volte a sett. | 1| 32.9| 151.6| 116.0| 7.7| 281.1|No | | 6|M | 53.3|Mai | 1| 31.7| 167.4| 100.7| 6.6| 318.2|No | | 7|M | 65.7|3 Volte a sett. | 1| 26.4| 160.0| 101.5| 6.0| 424.5|No | | 8|M | 68.1|3 Volte a sett. | 0| 31.4| 125.0| 101.0| 5.3| 327.3|Statine | | 9|M | 66.6|3 Volte a sett. | 0| 24.9| 110.1| 109.3| 5.1| 203.7|No | | 10|M | 58.2|1-2 volte a sett. | 2| 30.5| 138.0| 106.4| 6.7| 412.4|No | --- # .orange[Tipologie] di dati <img src="data:image/png;base64,#img/condis.png" width="90%" /> --- # .orange[Tipologie] di dati <img src="data:image/png;base64,#img/distype.png" width="90%" /> --- class: inverse, middle ## .orange[Sondaggio] Per me: [Tipi di variabile](https://app.wooclap.com/events/STATMEDTYPE/0) Per voi: <img src="data:image/png;base64,#img/bit.ly_statmed-sondaggio-tipi-variabili.png", width="300px" style="vertical-align: middle"/> [bit.ly/statmed-sondaggio-tipi-variabili](https://bit.ly/statmed-sondaggio-tipi-variabili) --- class: inverse, middle # .center[**.orange[Localizzazione] (dati continui)**] **Misure di .orange[centralità ]** **Misure di .orange[variabilità ] (e confrontabilità )** **Percentili** **Accorpamenti, e misure ponderate** <img src="data:image/png;base64,#img/img1.png" width="70%" style="display: block; margin: auto 0 auto auto;" /> --- # Misure di .orange[centralità ]: media Data una variabile `\(x\)`, misurata su `\(n\)` soggetti, la media aritmetica .orange[campionaria] è pari a `$$\bar{x} = \frac{1}{N}\sum_{i=1}^N x_i$$` È molto sensibile ai valori estremi: se ce ne sono non è una buona misura di centralità . > Es.: se in questa stanza entra Elon Musk, quale sarebbe la media del saldo dei conti in banca dei presenti (ma anche di tutta Rovigo...)? Sarebbe una buona misura di _centralità _ per tale distribuzione di valori? --- class: hide_logo # Media (_.orange[estremamente]_ sensibile) Riprendendo le età del nostro sotto-campione di soggetti, la loro media è .left-column[ Table: Portion of 'EPIC-Norfolk cohort' (Bain et al. 2015) | I| age| |--:|----:| | 1| 55.1| | 2| 62.9| | 3| 53.1| | 4| 76.3| | 5| 64.2| | 6| 53.3| ] .right-column[ `\(\frac{1}{6}\sum_{i=1}^6 age_i =\)` **60.82** <br><br> La media è molto sensibile ai .orange[dati estremi]: sostituendo, per esempio, anche solamente il primo valore (55.1) con 5.51 (ipotizzando un errore di inserimento), la media cambia sensibilmente e diviene **52.55**. ] --- # Misure di .orange[centralità ]: mediana Ordiniamo ora le `\(N\)` osservazioni. La mediana .orange[campionaria] è - la `\((\frac{N+1}{2})\)`-ma osservazione se `\(N\)` è dispari (ovvero, **ha un centro**) > Se prendo `\(k=N/2\)` ottengo una "posizione" con la virgola, quindi prendo la prima (intera) successiva. - la media aritmetica della `\((\frac{N}{2})\)`-ma e la `\((\frac{N}{2}+1)\)`-ma osservazione se `\(N\)` è pari (ovvero, **non ha un centro**) > Se prendo `\(k=N/2\)` ottengo un numero intero, e prendo allroa la media tra la `\(k\)`-esima e la `\(k+1\)`-esima osservazione --- # .orange[Mediana] (N pari) Nel nostro esempio .left-column[ Table: Portion of 'EPIC-Norfolk cohort' (Bain et al. 2015) | | I| age| |:--|--:|----:| |1 | 3| 53.1| |2 | 6| 53.3| |3 | 1| 55.1| |4 | 2| 62.9| |5 | 5| 64.2| |6 | 4| 76.3| ] .right-column[ Siccome `\(n\)` è pari (è 6), la mediana è la media tra la 3a e 4a osservazione (ordinate!) `$$\mbox{Mediana} = \frac{55.1 + 62.9}{2} = 59$$` E anche modificando il primo valore (55.1) con 5.51, la mediana cambia molto poco, diventando **resta 58.1** (invece di 59). ] --- # .orange[Mediana] (N dispari) .left-column[ Table: Portion of 'EPIC-Norfolk cohort' (Bain et al. 2015) | | I| age| |:--|--:|----:| |1 | 3| 53.1| |2 | 6| 53.3| |3 | 1| 55.1| |4 | 2| 62.9| |5 | 5| 64.2| |6 | 7| 65.7| |7 | 4| 76.3| ] .right-column[ Nel casi in cui N sia dispari (prendiamo per esempio `\(N = 7\)` ), prendiamo direttamente il valore centrale (in posizione `\(4 = (7+1)/2\)` ), ovvero **62.9**. ] --- # .orange[Confronto] media e mediana Definiamo l'indice di .orange[asimmetria] (**skewness**) Skewness = Media - Mediana .pull-left[ La distribuzione dei dati sarà considerata: - **simmetrica** se `\(Skewness \simeq 0\)` - **asimmetrica** (sbilanciata) a destra se `\(Skewness > 0\)` (la media è più grande, .orange[distorta in eccesso]) - **asimmetrica** (sbilanciata) a sinistra se `\(Skewness < 0\)` (la media è più piccola, .orange[distorta in difetto]) ] .pull-right[ <div class="figure"> <img src="data:image/png;base64,#img/img2.png" alt="'EPIC-Norfolk cohort' (Bain et al. 2015)" width="100%" /> <p class="caption">'EPIC-Norfolk cohort' (Bain et al. 2015)</p> </div> ] --- # Misure di .orange[centralità ]: Moda le mode sono ciascuno di valori che si osservano con **.orange[massima frequenza]**. <small> .left-column[ Sigarette al giorno Table: Portion of 'EPIC-Norfolk cohort' (Bain et al. 2015) | sigarette| n| |---------:|--:| | 0| 51| | 1| 62| | 2| 46| | 3| 14| | 4| 17| | 5| 7| | 6| 2| | 7| 1| ] .right-column[ Moda di sigarette fumate al giorno | sigarette| n| |---------:|--:| | 1| 62| > NOTA: una distribuzione può essere *unimodale*, *bimodale*, *trimodale*, ... ] </small> --- # Misure di .orange[variabilità ] Si considerino due campioni di misurazioni del colesterolo eseguite con due tecniche, una autoanalitica e l'altra microenzimatica: | autoanalitica| microenzimatica| |-------------:|---------------:| | 177| 192| | 193| 197| | 195| 200| | 209| 202| | 226| 209| Le media campionaria (nonostante la differenza di variabilità ) resta identica: | autoanalitica| microenzimatica| |-------------:|---------------:| | 200| 200| --- # Misure di .orange[variabilità ]: range (massimale) Il **range** massimale è la differenza tra il valore massimo osservato e quello minimo. Simbolicamente: `$$range = max(x_i)-min(x_i)$$` | autoanalitica| microenzimatica| |-------------:|---------------:| | 49| 17| È molto semplice da calcolare ma molto sensibile ai valori estremi. > Dipende dall'ampiezza campionaria `\(N\)`, e **tende ad aumentare** all'aumentare di `\(N\)`! (un campione più grande della stessa popolazione avrà estremi più lontani e non più vicini) --- class: hide_logo # Misure di .orange[variabilità ]: varianza campionaria La varianza campionaria è definita come `$$s^2 = \frac{\sum_{i=1}^n (x_i-\bar{x})^2}{n-1}$$` Questa è una misura di quanto, in media, gli elementi del campione si discostano dalla loro media. E un valore non confrontabile con i dati stessi in quanto con un altra unità di misura. Si definisce quindi la **.orange[deviazione standard]** campionaria, come `$$s = \sqrt{s^2} = \sqrt{\frac{\sum_{i=1}^n (x_i-\bar{x})^2}{n-1}}$$` > Si noti che `\(\sum_{i=1}^n (x_i-\bar{x}) = 0\)` --- class: hide_logo # .orange[Varianza] campionaria: esempio .left-plot[ | autoanalitica| microenzimatica| |-------------:|---------------:| | 177| 192| | 193| 197| | 195| 200| | 209| 202| | 226| 209| Medie: | autoanalitica| microenzimatica| |-------------:|---------------:| | 200| 200| ] .right-code[ .panelset[ .panel[.panel-name[Autoanalitica] `\(\begin{split}s^2& = \frac{(177-200)^2 + \ldots + (226-200)^2}{4}\\& = \frac{1360}{4} = 340\end{split}\)` `\(s = \sqrt{340} = 18.4\)` ] .panel[.panel-name[Microenzimatica] `\(\begin{split}s^2& = \frac{(192-200)^2 + \ldots + (209-200)^2}{4}\\& = \frac{158}{4} = 39.5\end{split}\)` `\(s = \sqrt{39.5} = 6.3\)` ] ] ] --- # .orange[Varianza] (formula alternativa) Se la media è già calcolata, allora può essere utile usare `$$s^2=\frac{(\sum_{i=1}^n x_i^2) - n\bar{x}^2}{n-1}$$` Per la tecnica autoanalitica si ha `$$\sum_{i=1}^5 x_i^2 = 177^2+\ldots+226^2=201360$$` `$$s^2 = \frac{201360 - 5 \times 200^2}{4}= 1360/4=340$$` --- class: hide_logo # Misure di .orange[variabilità ]: coefficiente di variazione Sebbene la deviazione standard sia della stessa unità di misura dei dati, non permette di confrontare tra loro le variabilità di variabili con unità di misura differenti. Il **coefficiente di variazione** `\(CV\)` è definito come `$$CV = \frac{100s}{\bar{x}}$$` È una misura adimensionale, e quindi utilizzabile anche per confrontare variabili di natura differente. È anche insensibile alla scala, ovvero a trasformazioni del tipo `\(cx\)` --- ### .orange[CV] (non-effetto scala) <small> I valori di Colesterolo raccolti dai 200 pazienti del database Epic sono i seguenti: ``` 5.2, 4.6, 4.8, 8.4, 7.7, 6.6, 6, 5.3, 5.1, 6.7, 7.3, 5.1, 5, 5.4, 6.4, 6.6, 4.7, 5.7, 4.8, 5.9, 5.2, 5.6, 7.2, 5.9, 6.1, 5.5, 4.8, 7.6, 4.8, 5.4, 5.9, 5.6, 6.9, 6.9, 5, 9.1, 5.8, 5.5, 7.4, 6.4, 6.2, 7.2, 4.9, 6.7, 6.8, 5.4, 7.1, 5.9, 5.9, 5.3, 7, 6.8, 6.1, 5.5, 6.3, 5.3, 6.1, 5.6, 8, 4.9, 6, 6.7, 5.1, 6.8, 4.8, 4.9, 4.7, 5.8, 5.9, 6.2, 4.8, 5, 10.5, 6.9, 6, 5.4, 6.8, 5.4, 5.3, 5.5, 5.5, 7.4, 6.4, 6.9, 5.2, 6.2, 6.4, 4.9, 8.6, 4.6, 5.2, 5.7, 6, 8.5, 5.4, 5.1, 8.4, 6, 6.7, 5.4, 7.3, 6.4, 7.1, 5.3, 7.1, 4.9, 5.1, 7, 4.7, 6.5, 8.7, 7, 6.2, 5.5, 5.7, 4.6, 5.1, 7, 5.4, 6.3, 6.3, 5.9, 5.4, 4.6, 5.8, 5.5, 6.2, 7.6, 6.4, 5.9, 7.7, 6.4, 8.4, 6.9, 5.2, 5.8, 4.7, 4.8, 7.5, 6, 8.5, 8.4, 4.9, 4.8, 5, 6.7, 7.3, 5.4, 6.7, 4.7, 5.5, 6.8, 11.3, 4.7, 5.8, 5.4, 5.4, 5.8, 5.2, 7, 6.4, 6.8, 7.5, 5, 6.3, 6.6, 5.6, 5.7, 5.6, 7.1, 5.1, 5, 4.6, 5.2, 4.9, 6.7, 7.1, 6.6, 5.3, 6, 4.7, 7.1, 5.3, 5.8, 6.7, 6.1, 7.9, 6.2, 5.7, 6.1, 5.1, 5.7, 5.4, 5.2, 6.7, 6, 4.6, 4.7, 8.3, 5.2 ``` Partendo dai dati così espressi in mmol/L: `\(CV = 1.12/6.07 \times 100 \simeq 18\%\)` e per gli stessi valori espressi in mg/dl (massa molare colesterolo: 386.65 g/mol) abbiamo: `$$CV = 43.35/234.83 \times 100 \simeq 18\%$$` </small> --- class: inverse, middle ## .orange[Sondaggio] Per me: [Localizzazione](https://app.wooclap.com/events/STATMEDLOCALIZZAZIONE/0) Per voi: <img src="data:image/png;base64,#img/bit.ly_statmed-sondaggio-localizzazione.png", width="300px" style="vertical-align: middle"/> [bit.ly/statmed-sondaggio-localizzazione](https://bit.ly/statmed-sondaggio-localizzazione) --- class: inverse, middle ## .orange[Domande fin qui?] --- # .orange[Percentili] Il **percentile** `\(p\)`-esimo è un valore `\(V_p\)` tale che il `\(p\)`\% del campione assume valori inferiori a esso. Per un calcolo _a mano_, posto `\(k=\frac{p}{100}n\)`*", il percentile `\(p\)`-esimo è definito come - Se `\(k\)` è un intero, la media delle osservazioni `\(k\)`-ma e `\(k + 1\)`-ma osservazione (ordinata). - Se `\(k\)` non è un intero, l'osservazione alla prima posizione (intera) superiore a `\(k\)` (ordinata). I **quartili** sono valori che dividono i dati in quattro gruppi contenenti un numero approssimativamente uguale di osservazioni. Il totale di 100% è diviso in quattro parti uguali: 25%, 50%, 75% 100%. + .orange[Primo] **quartile** (Q1) il minimo valore osservato tale che almeno il `\(25\% (=1/4)\)` dei dati è minore o uguale a questo + .orange[Terzo] **quartile** (Q3) il minimo valore osservato tale che almeno il `\(75\% (=3/4)\)` dei dati è minore o uguale a questo --- ## .orange[Percentili] (esempio _intero_) <small> Si calcoli il `\(10\)`-mo e `\(90\)`-mo percentile del campione del BMI su 10 soggetti. .left-column[ | | id| bmi| |:--|--:|----:| |1 | 4| 23.3| |2 | 9| 24.9| |3 | 7| 26.4| |4 | 1| 30.4| |5 | 10| 30.5| |6 | 8| 31.4| |7 | 6| 31.7| |8 | 5| 32.9| |9 | 3| 41.6| |10 | 2| 42.6| ] .right-column[ 1. Si calcola `\(np/100\)`, pari a: - 10-imo percentile (p/100 = 0.1): `\(10 \times 0.1 = 1\)` - 90-esimo percentile (p/100 = 0.9): `\(10 \times 0.9 = 9\)` 2. (Sono valori interi, quindi posti uguale a `\(k\)` e) si calcola la media tra le osservazioni (**ordinate**): - 10-imo: posizioni 1 e 2 `\(\frac{23.3 + 24.9}{2} =\)` 24.1 - 90-esimo: posizioni 9 e 10 `\(\frac{41.6 + 42.6}{2} =\)` 42.1 ] </small> --- # .orange[Percentili] (esempio _decimale_) Si calcoli il `\(20\)`-mo percentile del campione del BMI su 9 soggetti. .left-column[ | | id| bmi| |:--|--:|----:| |1 | 4| 23.3| |2 | 9| 24.9| |3 | 7| 26.4| |4 | 1| 30.4| |5 | 8| 31.4| |6 | 6| 31.7| |7 | 5| 32.9| |8 | 3| 41.6| |9 | 2| 42.6| ] .right-column[ 1. Si calcola `\(k=np/100\)`, pari a: - 20-imo percentile (p/100 = 0.2): `\(9 \times 0.2 = 1.8\)` 2. (È un valore decimale, quindi) Si trova il primo numero intero superiore a 1.8: che è 2 3. Il 20-esimo percentile è il `\(2\)`-esimo (secondo) valore (ordinato!); ovvero, **24.9**. ] --- class: inverse, middle ## .orange[Sondaggio] Per me: [Percentili](https://app.wooclap.com/events/STATMEDPERCENTILI/0) Per voi: <img src="data:image/png;base64,#img/bit.ly_statmed-sondaggio-percentili.png", width="300px" style="vertical-align: middle"/> [bit.ly/statmed-sondaggio-percentili](https://bit.ly/statmed-sondaggio-percentili) --- # .orange[Accorpamenti] La struttura generale dei dati raggruppati è simile a |Gruppi | Media | Frequenza |:----------------:|:---------------------------:|:---------: | `\([y_1, y_2)\)` | `\(\frac{y_1+y_2}{2}\)` | `\(f_1\)` | `\(\vdots\)` | `\(\vdots\)` | `\(\vdots\)` | `\([y_k, y_{k+1})\)` | `\(\frac{y_k+y_{k+1}}{2}\)` | `\(f_k\)` --- class: hide_logo # .orange[Accorpamenti]: Epic - magnesio Intake giornaliero di magnesio (mg/day) per `\(N = 100\)` soggetti ``` 43, 84.2, 100.4, 102.2, 113, 116.7, 118.9, 128.8, 130.1, 144.3, 151.5, 152.3, 163, 168.9, 169.4, 181.1, 189.5, 197.5, 198.3, 198.3, 198.7, 202.2, 204.6, 212, 215.3, 215.4, 219.6, 222, 226.2, 228, 234.3, 234.4, 236.4, 239.9, 241.7, 245.9, 250, 251.8, 255.8, 257.9, 263.7, 264.5, 267.7, 269.6, 277.7, 279.7, 281.1, 285.3, 285.8, 288.9, 295.5, 297.6, 297.8, 299, 300.8, 302.9, 304.2, 304.9, 305.1, 306, 307.1, 307.4, 309, 312.3, 317.1, 317.8, 318.4, 320.1, 320.2, 320.4, 320.5, 321.1, 322.4, 323.7, 323.9, 324, 325.3, 326.4, 329.1, 329.2, 331.1, 332.6, 333, 334.3, 338.1, 340.3, 341.3, 343.4, 343.8, 344.9, 349.4, 349.6, 350.5, 351.4, 355.9, 357.6, 359.1, 359.8, 359.8, 360.3 ``` --- class: hide_logo # .orange[Accorpamenti]: Epic - magnesio Accorpati in 8 gruppi con approssimativamente la stessa quantità di soggetti in ciascun gruppo: Table: 'EPIC-Norfolk cohort' (Bain et al. 2015) |Gruppi | m| Freq| |:---------|-----:|----:| |[ 43,169) | 106.0| 13| |[169,215) | 192.0| 12| |[215,256) | 235.5| 13| |[256,296) | 276.0| 12| |[296,312) | 304.0| 13| |[312,324) | 318.0| 12| |[324,344) | 334.0| 13| |[344,360] | 352.0| 12| --- # misure .orange[ponderate]: media artimetica ponderata La media aritmetica campionaria ponderata è pari a `$$\bar{x}_g = \frac{\sum_{i=1}^k f_im_i}{\sum_{i=1}^k f_i}$$` Per il dataset accorpato sui dati di magnesio, è pari a `$$\bar{x}_g = \frac{13(106)+\ldots+12(352)}{13+\ldots+12}= 26389.5/100 = 263.895$$` --- class: hide_logo ## misure .orange[ponderate]: varianza ponderata La varianza campionaria ponderata è pari a `$$s_g^2 = \frac{\sum_{i=1}^k f_i(m_i-\bar{x}_g)^2}{(\sum_{i=1}^k f_i)-1} \quad\rm{ovvero}\quad s_g^2 = \frac{(\sum_{i=1}^k f_im_i^2)-n\bar{x}_g^2}{n-1}$$` Per il caso del magnesio è pari a `$$\begin{align*}\bar{s}_g^2& = \frac{13(106 - 263.895)^2+\ldots+12(352 - 263.895)^2}{13 + \cdots + 12 - 1}\\& = 611446.1/99 = 6176.224\end{align*}$$` `$$\begin{align*}\bar{s}_g^2& = \frac{[13(106)^2+\ldots+12(352)^2]-100(263.895^2)}{100-1}\\& = 611446.1/99 = 6176.224\end{align*}$$` ] --- class: inverse, middle # .center[**.orange[Rappresentazione]**] ### **Dati .orange[continui]** - Istogrammi - Box-plot ### **Dati .orange[categorici]** - Grafici a barre <!-- ### **.orange[Coppie] di dati** --> <!-- - continui - continui (scatter) --> <!-- - continui - categorici (jitter) --> <!-- - categorici - categorici (... count?! 🤔) --> --- ## Istogramma <small> L'istogramma è uno stimatore della distribuzione <img src="data:image/png;base64,#02-descrittive_files/figure-html/unnamed-chunk-33-1.png" width="55%" /> </small> --- # Dati continui: istogramma Per il calcolo dell'istogramma, la tabella delle frequenze deve essere estesa |Gruppi | Media | Frequenza| Ampiezza | Densità |:----------------:|:---------------------------:|:--------:|:-------------------:|:------- | `\([y_1, y_2)\)` | `\(\frac{y_1+y_2}{2}\)` | `\(f_1\)` | `\(a_1 = y_2-y_1\)` | `\(\frac{f_1}{n*a_1}\)` | `\(\vdots\)` | `\(\vdots\)` | `\(\vdots\)` | `\(\vdots\)` | `\(\vdots\)` | `\([y_k, y_{k+1})\)` | `\(\frac{y_k+y_{k+1}}{2}\)` | `\(f_k\)` | `\(a_k = y_{k+1}-y_k\)` | `\(\frac{f_{k+1}}{n*a_k}\)` --- ## Istogramma: autocalcolato <small> Se ampiezze tutte uguali, la _forma_ standardizzata ad area unitaria è proporzionale a quella con barre di altezza le frequenze .panelset[ .panel[.panel-name[Count] <img src="data:image/png;base64,#02-descrittive_files/figure-html/unnamed-chunk-34-1.png" width="50%" /> ] .panel[.panel-name[Hist] <img src="data:image/png;base64,#02-descrittive_files/figure-html/unnamed-chunk-35-1.png" width="50%" /> ] ] </small> --- # Boxplot (general) .center[ <img src="data:image/png;base64,#img/bxp.png" width="70%" /> ] --- # Dati continui: box-plot Il .orange[box-plot] è un modo per rappresentare graficamente una distribuzione rispetto a __centralità e variabilità __. Per un campione di ampiezza `\(N\)` - Il segmento all'interno del box è la mediana. - il __baffo inferiore__ (h) **.orange[parte]** dal primo quartile (o 25º percentile) - il __baffo superiore__ (H) **.orange[parte]** dal terzo quartile (o 75º percentile) - l'ampiezza della scatola (box) è il **.orange[Range Inter-Quartile] (IQR)**, ovvero la differenza tra il III e il I quartile. - un valore __estremo__ è: un valore che si allontana dai baffi più di una volta e mezza la loro distanza (distanza inter-quartile), cioè `$$x > H + 1.5 \times (H-h) \quad o \quad x < h - 1.5 \times (H-h)$$` - un __outlier__ è: un valore che si allontana dai baffi più di tre volte la loro distanza, cioè `$$x > H + 3 \times (H-h) \quad o \quad x < h - 3 \times (H-h)$$` --- # Box-plot (calcolo) Un' assunzione giornaliera di 43 mg/die di magnesio rappresenta un dato estremo <small> <small> ``` [1] 43.0 84.2 100.4 102.2 113.0 116.7 118.9 128.8 130.1 [10] 144.3 151.5 152.3 163.0 168.9 169.4 181.1 189.5 197.5 [19] 198.3 198.3 198.7 202.2 204.6 212.0 215.3 215.4 219.6 [28] 222.0 226.2 228.0 234.3 234.4 236.4 239.9 241.7 245.9 [37] 250.0 251.8 255.8 257.9 263.7 264.5 267.7 269.6 277.7 [46] 279.7 281.1 285.3 285.8 288.9 295.5 297.6 297.8 299.0 [55] 300.8 302.9 304.2 304.9 305.1 306.0 307.1 307.4 309.0 [64] 312.3 317.1 317.8 318.4 320.1 320.2 320.4 320.5 321.1 [73] 322.4 323.7 323.9 324.0 325.3 326.4 329.1 329.2 331.1 [82] 332.6 333.0 334.3 338.1 340.3 341.3 343.4 343.8 344.9 [91] 349.4 349.6 350.5 351.4 355.9 357.6 359.1 359.8 359.8 [100] 360.3 ``` - `\(h\)` è la media tra l'osservazione `\((100 * 1/4)\)`ª e la `\(((100 * 1/4) + 1)\)`ª, ovvero `\((215.3+215.4) / 2 = 215.35\)` - `\(H\)` è la media dell'osservazione `\((100 * 3/4)\)`ª e la `\(((100 * 3/4) + 1)\)`ª, ovvero `\((323.9+324) / 2 = 323.95\)` - i limiti per i valori estremi sono quindi: `$$x > 323.95 + 1.5 * (323.95 - 215.35) = 486.85$$` `$$x < 215.35 - 1.5 * (323.95 - 215.35) = 52.45$$` - gli outlier sarebbero: `$$x > 323.95 + 3 * (323.95 - 215.35) = 649.75$$` `$$x < 215.35 - 3 * (323.95 - 215.35) = 0$$` </small> </small> --- # Dati categorici: barre Volendo rappresentare confronti tra conteggi, possiamo usare grafici a barre. > ATTENZIONE 1: istogramma rappresenta una distribuzione per i valori di una variabile continua; un grafico a barre rappresenta i valori (conteggi) dei livelli di una variabile categorica! > ATTENZIONE 2: in un grafico a barre, la base delle barre DEVE essere sempre (ben!!) definita, ovvero deve SEMPRE iniziare dall'opportuno "zero" (per esempio da 1 per scale logaritimiche, da 0 per i conteggi classici) ---  ---  ---  ---  ---  ---  ---  ---  --- # Prima <img src="data:image/png;base64,#img/rmsle-plot.jpg" style="height:55vh; width:auto;" /> --- # Prima <img src="data:image/png;base64,#img/smape-plot.jpg" style="height:55vh; width:auto;" /> --- # Prima <img src="data:image/png;base64,#img/mae-plot.jpg" style="height:55vh; width:auto;" /> --- # Dopo <img src="data:image/png;base64,#img/error_boxplots_highlight_with_iqr.png" style="height:55vh; width:auto;" /> --- class: inverse, middle ## .orange[Sondaggio] Per me: [Grafici](https://app.wooclap.com/events/STATMEDGRAFICI/0) Per voi: <img src="data:image/png;base64,#img/bit.ly_statmed-sondaggio-grafici.png", width="300px" style="vertical-align: middle"/> [bit.ly/statmed-sondaggio-grafici](https://bit.ly/statmed-sondaggio-grafici) --- class: inverse # Risorse utili - [**RStudio Cloud**](https://bit.ly/statmed-cl-rstudio): [https://bit.ly/statmed-cl-rstudio](https://bit.ly/statmed-cl-rstudio) gratis per voi per esplorare RStudio, le sue funzionalità , e allenarvi con R (link di iscrizione valido fino alla fine del corso). NOTA: a vostra scelta, è utilizzabile anche come _supporto_ durante l'esame. - [**RStudio primers**](https://rstudio.cloud/learn/primers) ambiente gratuito dentro RStudio Cloud per l'apprendimento delle basi di analisi di dati con R tramite tutorial interattivi. Una volta registrati, oltre all'accesso al _nostro_ spazio di lavoro, avete accesso libero anche ai _Primers_. - [**R 4 Data Science**](https://r4ds.had.co.nz/): libro gratuito (on-line) di [**Hadley Wickham**](http://hadley.nz/) e [**Garrett Grolemund**](https://rstudio.com/speakers/garrett-grolemund/) - [**GGplot2 cheatsheet**](https://raw.githubusercontent.com/rstudio/cheatsheets/main/data-visualization.pdf) schema dei possibili grafici di base rappresentabili in R con il pacchetto `{ggplot2}`, molto utile anche per conoscere le tipologie di grafico, e il loro utilizzo. - [Statistica medica](https://www.maggiolieditore.it/statistica-medica.html) di [**Martin Bland**](https://www.york.ac.uk/healthsciences/our-staff/honoraryemeritus/martin-bland/), suggeriti capitoli 1, 4 e 5. - [Perché n − 1 nella formula della deviazione standard campionaria?](http://rdossena.altervista.org/Articoli/Book-Perch%E9%20n-1.pdf) di [Riccardo Dossena](http://rdossena.altervista.org) Traduzione dell'articolo **Book, S.A.**: _Why n − 1 in the formula for the sample standard deviation?_, The Two-Year College Mathematics Journal 10(5), 330–333 (1979 --- class: inverse, center, middle, hide-count .bg-washed-green.b--dark-green.ba.bw2.br3.shadow-5.ph4.mt5[ .left[ _Mathematical conventions are just that, conventions. They differ by field of mathematics. Don’t ask us why **matrix rows** **.orange[are numbered down]** but **graphs** **.orange[are numbered up]** the **y axis**, nor why **x .orange[comes before] y** but **row .orange[before] column**. But the matrix layout has always seemed illogical to me._ ] .tr[ —Brian D. Ripley<br>08/2004 - R-help<br> ] ] # .orange[Grazie] per l'attenzione! Diapositive: [bit.ly/statmed-cl-corsi](https://bit.ly/statmed-cl-corsi) [
](https://www.unipd-ubep.it/) [**www.unipd-ubep.it**](https://www.unipd-ubep.it/) | [
](mailto:Corrado.Lanera@ubep.unipd.it) [**Corrado.Lanera@ubep.unipd.it**](mailto:Corrado.Lanera@ubep.unipd.it) [
](https://github.com/corradolanera) [
](https://twitter.com/corradolanera) [
](https://telegram.me/CorradoLanera) **@CorradoLanera** | [
](https://bit.ly/statmed-cl-ricevimento) [**bit.ly/statmed-cl-ricevimento**](https://bit.ly/statmed-cl-ricevimento)